<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>js基础02</title>
</head>

<body>
    <h2>js基础02</h2>
    <script>
        /*
            程序结构：顺序结构，选择结构if、switch ，循环结构for,while
            if-else可以实现swith的效果，
            switch本身语法比较复杂，不常用
            循环：重复执行相同操作
                1.控制循环的变量初始化
                2.进入循环的条件
                3.循环体，循环操作
                4.控制循环的变量变化
            for-in循环，类似于java中的foreach循环，用于可迭代的对象

            字符串：拥有很多和数组相同的方法，可以对比记忆
            slice(下标1，下标2)：截取从下标1开始，到下标2结束的字符串，不包含下标2
                等同于java中的subString
            split(字符)：根据提供的字符 ，把字符串转数组，切割
            indexOf(字符)：返回字符在字符串中第1次出现的下标位置
                如果不存在，则返回-1

            数组：存放一系列数据的集合
                [] 等同于 new Array()
                slice(),indexOf()
                join(字符)：根据字符转换成字符连接的字符串
                push(元素)：在数组末尾添加元素
                pop()：在数组末尾删除元素
                unshift(元素)：在数组开头添加元素
                shift()：在数组开头删除元素
                splice(下标，个数)：删除从下标开始，对应个数的元素，数组本身会发生变化
                reverse()：颠倒元素的顺序排列，原数组会改变
        */

        // 找出数组中重复出现过的元素，元素会组成一个新的数组
        ['apple', 3, 'banana', 3, 'pear', 2, 3, 'apple']
        // ['apple', 3];

        // 在数组中，查找值与'a'相等的元素出现的所有位置
        var arr = ['a', 'b', 'c', 'a', 'e', 'f', 'a', 'b', 'c'];
        var newArr = [];
        for (var i in arr) {
            if (arr[i] === 'a') {
                console.log(i);
                newArr.push(i);
            }
        }
        console.log(newArr);













        /*

        // 求数组中最大的数字
        var arr = [3234, 33, 22, 55, 222, 3555];
        var max = 0;
        for (var i in arr) {
            // 把max和数组元素比较，哪个大，就把哪个值赋给max
            if (arr[i] > max) {
                max = arr[i];
            }
        }
        console.log('最大的数是：', max);



        // 数组元素倒序排列：[1, 2, 3, 4]  排列后  [4, 3, 2, 1]
        var arr = [11, 22, 33, 44, 56];
        var newArr = [];
        for(var i in arr){
            // 在新数组的开头加元素
            newArr.unshift(arr[i]);
        }
        console.log(newArr);

        arr.reverse();
        console.log(arr);



        var arr = [11, 22, 33, 66, 77, 88];
        // arr.push(44);
        // arr.pop();
        // arr.splice(2, 2);
        console.log(arr.join('**'));


        // var arr = new Array('China', 'Canada', 'Greece', 'Egypt');
        var arr = ['China', 'Canada', 'Greece', 'Egypt', 'Apple'];
        var num = 0;
        for (var i in arr) {
            // 检测元素中是否包含A或者a
            // if (arr[i].indexOf('a') !== -1 || arr[i].indexOf('A') !== -1) {
            if (arr[i].toLowerCase().indexOf('a') !== -1) {
                num++;
            }
        }
        console.log('包含a或A的字符串数量是：', num);
        var str = '淮南牛肉汤';
        console.log(str.indexOf('肉'));

        console.log(str.split('牛'));
        console.log(str.split('')); // 把每个字符作为元素放入数组中
        console.log(str[2]);
        for(var key in str){
            console.log(key);
        }
        // console.log(str.length);
        console.log(str.slice(2, 4));
        console.log(str);

        for(var key in 10){
            console.log(key);
        }

        // 如果分数不及格，就抄写课文 60 - 分数 的遍数
        var score = 55;
        var num = 60 - score; // 变量初始化
        // 进入循环的条件
        while (num < 60) {
            console.log('抄写课文...'); // 循环操作
            num++;
        }

        for (var i = 0; i < 5; i++) {
            console.log('for循环');
        }



         // 根据数字，输出星期几
         var day = 3;
         if (day === 1) {
             console.log('星期一');
         } else if (day === 3) {
             console.log('星期三');
         } else if (day === 4) {
             console.log('星期四');
         }
         // 小括号中是===判断
         switch (day) {
             case 1:
                 console.log('星期一');
                 break;
             case 3:
                 console.log('星期三');
                 break;
             // 所有条件都不满足，会执行default
             default:
                 console.log('星期几都不是');
                 break;
         }
          */
    </script>
</body>

</html>